/**
 * 获取滚动条宽度
 */
let cached = undefined

export const getScrollbarSize = (fresh) => {
	// #ifdef H5

	if (fresh || cached === undefined) {
		let inner = document.createElement('div')
		let innerStyle = inner.style

		innerStyle.width = '100%'
		innerStyle.height = '200px'

		let outer = document.createElement('div')
		let outerStyle = outer.style

		outerStyle.position = 'absolute'
		outerStyle.top = 0
		outerStyle.left = 0
		outerStyle.pointerEvents = 'none'
		outerStyle.width = '200px'
		outerStyle.height = '150px'
		outerStyle.visibility = 'hidden'

		outer.appendChild(inner)
		document.body.appendChild(outer)

		// 设置子元素超出部分隐藏
		outerStyle.overflow = 'hidden'

		let width1 = inner.offsetWidth

		// 设置子元素超出部分滚动
		outer.style.overflow = 'scroll'

		let width2 = inner.offsetWidth

		if (width1 === width2) {
			width2 = outer.clientWidth
		}

		document.body.removeChild(outer)

		cached = width1 - width2
	}
	//#endif

	return cached
}
